package org.lisen.oauth2example.resourceserver.controller;

import org.apache.oltu.oauth2.as.request.OAuthRequest;
import org.apache.oltu.oauth2.as.request.OAuthTokenRequest;
import org.apache.oltu.oauth2.common.exception.OAuthProblemException;
import org.apache.oltu.oauth2.common.exception.OAuthSystemException;
import org.apache.oltu.oauth2.common.message.types.ParameterStyle;
import org.apache.oltu.oauth2.common.utils.OAuthUtils;
import org.apache.oltu.oauth2.rs.request.OAuthAccessResourceRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;

@RestController
@RequestMapping("/resourceServer")
public class UserController {

    @GetMapping("/userinfo")
    public Object getUserInfo(HttpServletRequest request) throws OAuthProblemException, OAuthSystemException {
        OAuthAccessResourceRequest oAuthAccessResourceRequest = new OAuthAccessResourceRequest(request, ParameterStyle.HEADER);

        String accessToken =oAuthAccessResourceRequest.getAccessToken();

        Map<String,Object> map = new HashMap<>();
        map.put("name", "zhengsuanfeng");
        map.put("phone", "13576472774");
        map.put("addr","长沙岳麓区");

        return map;
    }

}
